.macro	push %reg
	addi    sp sp -4
        sw      %reg (sp)
.end_macro

.macro	pop %reg
	lw      %reg (sp)
        addi    sp sp 4
.end_macro

.macro	syscall %number
	li      a7 %number
	ecall
.end_macro

.macro	syscall %number	%rega0
	mv      a0 %rega0
	li      a7 %number
	ecall
.end_macro

.macro	syscall %number	%rega0 %rega1
	mv      a0 %rega0
	mv      a1 %rega1
	li      a7 %number
	ecall
.end_macro

.macro  input   %msg %reg
	.data
	msg:    .ascii  %msg
        	.asciz  ": "
	.text
        	la      a0 msg
        	jal     _input
        	mv      %reg a0
.end_macro

.macro  print   %reg
	mv      a0 %reg
        li      a7 4
        ecall
        li      a0 10
        li      a7 11
        ecall
.end_macro

.macro  print   %msg %reg
	.data
	msg:    .ascii  %msg
        	.asciz  ": "
	.text
        	la      a0 msg
        	mv      a1 %reg
        	jal     _print
.end_macro

.macro  exit
        li      a7 10
        ecall
.end_macro
